//
//  BiReturnListViewController.m
//  TrunkIndustryManageSystem
//
//  Created by 李璐西 on 15-5-1.
//  Copyright (c) 2015年 李璐西. All rights reserved.
//

#import "BiReturnListViewController.h"

#import "BiCarBorrowEntity.h"
#import "ReturnListCell.h"
#import "MJRefresh.h"
#import "BiReturnManageViewController.h"
@interface BiReturnListViewController ()<UITableViewDataSource,UITableViewDelegate>{
    UITableView * _tableView;
    NSMutableArray * _returnExecuteList;
}
@end

@implementation BiReturnListViewController
- (id)init{
    self = [super init];
    if (self) {
        _returnExecuteList = [[NSMutableArray alloc] init];
    }
    return self;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    [self setNavBackBtn];
    [self setNavBarTitle:@"还车审批列表"];
    [self setNavBarWithHidden:NO];
    _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, [self viewTop], MAIN_SCREEN_WIDTH, MAIN_SCREEN_HEIGHT-[self viewTop])];
    _tableView.delegate = self;
    _tableView.dataSource = self;
    [self.view addSubview:_tableView];
    _tableView.rowHeight = 80;
    _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    [self setupRefresh];
}

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    NSDictionary * paraDic = [NSDictionary dictionaryWithObjectsAndKeys:
                              [BiUserEntity sharedInstance].userid,@"userId",
                              @"0",@"page",
                              PAGESIZE,@"pageSize",
                              @"5",@"status",
                              nil];
    [[BiNetEngine shareInstance] requestCarReturnCheckList:self paraDict:paraDic];
    [self asyshowHUDView:WAITING CurrentView:self];
}

/**
 *  集成刷新控件
 */
- (void)setupRefresh
{
    // 1.下拉刷新(进入刷新状态就会调用self的headerRereshing)
    [_tableView addHeaderWithTarget:self action:@selector(headerRereshing)];
    //#warning 自动刷新(一进入程序就下拉刷新)
    //    [_tableView headerBeginRefreshing];
    
    // 2.上拉加载更多(进入刷新状态就会调用self的footerRereshing)
    [_tableView addFooterWithTarget:self action:@selector(footerRereshing)];
    
    // 设置文字(也可以不设置,默认的文字在MJRefreshConst中修改)
    _tableView.headerPullToRefreshText = @"下拉刷新";
    _tableView.headerReleaseToRefreshText = @"松开即可刷新";
    _tableView.headerRefreshingText = @"刷新中~";
    
    _tableView.footerPullToRefreshText = @"上拉加载更多数据";
    _tableView.footerReleaseToRefreshText = @"松开马上加载";
    _tableView.footerRefreshingText = @"加载中~";
}
#pragma mark 开始进入刷新状态
- (void)headerRereshing
{
    NSLog(@"headerRereshing");
    NSDictionary * paraDic = [NSDictionary dictionaryWithObjectsAndKeys:
                              [BiUserEntity sharedInstance].userid,@"userId",
                              @"0",@"page",
                              PAGESIZE,@"pageSize",
                              @"5",@"status",
                              nil];
    [[BiNetEngine shareInstance] requestCarReturnCheckList:self paraDict:paraDic];
    
    //[self performSelector:@selector(fffff) withObject:nil afterDelay:2];
}

- (void)fffff{
    
    [_tableView headerEndRefreshing];
    [_tableView footerEndRefreshing];
    
}

- (void)footerRereshing
{
    
    [self performSelector:@selector(fffff) withObject:nil afterDelay:2];
    NSLog(@"footerRereshing");
}

#pragma -mark UiTableViewDelegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    BiCarBorrowEntity *ReturnManageEntity = _returnExecuteList[indexPath.row];
    BiReturnManageViewController *ReturnManageViewController = [[BiReturnManageViewController alloc] init];
//    传参
    ReturnManageViewController.ReturnManageEntity = ReturnManageEntity;
    [self.navigationController pushViewController:ReturnManageViewController animated:YES];
}

#pragma -mark UiTableViewDataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return _returnExecuteList.count;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *myIndentifier = @"ReturnListCell";
    ReturnListCell *cell = (ReturnListCell *)[_tableView dequeueReusableCellWithIdentifier:myIndentifier];
    if (!cell) {
        cell = [[[NSBundle mainBundle] loadNibNamed:@"ReturnListCell" owner:self options:nil]firstObject];
        cell.selectionStyle = UITableViewCellSeparatorStyleNone;
    }
    BiCarBorrowEntity *entity = [_returnExecuteList objectAtIndex:indexPath.row];
    cell.labBorrowCarPerson.text = entity.borrowCarPersonName;
    
    cell.labVIN.text = entity.vin;
    
    cell.labApplyData.text = entity.applyDate;
    
    return cell;
}
#pragma -mark Net Delegate
- (void)onNetEngineResponse:(int)tag entity:(id)entity userInfo:(NSDictionary *)userInfo{
    [self removeHUDView:self];
    
    NSDictionary *entity_ = (NSDictionary *)entity;
    
    [self showMessage:entity_[@"result_info"]];
    
    if ([entity_[@"response_status"] integerValue] != 200) {
        return;
    }
    [_tableView headerEndRefreshing];
    [_tableView footerEndRefreshing];
    
    [_returnExecuteList removeAllObjects];
    
    [_returnExecuteList addObjectsFromArray:entity_[@"data"]];
    
    [_tableView reloadData];
}

- (void)onnetengineresponseFail:(int)tag entity:(id)entity userInfo:(NSDictionary *)userInfo
{
    [self removeHUDView:self];
}

@end
